package com.wang.common.util;

import java.io.InputStream;
import java.util.ResourceBundle;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * 存储的是常量
 * 
 * @author Zjx
 */
public class ConstatFinalUtil
{
	/**
	 * 打印系统日志
	 */
	public static Logger SYS_LOGGER = LogManager.getLogger();
	/**
	 * 打印自定义的日志类型日志，和输出目录
	 */
	public static Logger SYS_LOGIN = LogManager.getLogger("SYS_LOGIN");
	/**
	 * 参数是配置文件的名字,不能加扩展名
	 */
	public static ResourceBundle SYS_BUNDLE = ResourceBundle.getBundle("system");
	/**
	 * 固定验证码
	 */
	public static final String RAND_STR = "0715" ; 
	/* 日期+时间的格式化 */
	public static String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss" ;
	/* 日期+时间的格式化 */
	public static String DATE_FORMAT = "yyyy-MM-dd" ;
	/* io工具类 */
	private static IoUtil ioUtil = new IoUtil();
	/* 放到一个配置类里面 */
	public static JSONObject CONFIG_JSON = new JSONObject();
	public static JSONObject INFO_JSON = new JSONObject();
	public static JSONObject SYSTEM_JSON = new JSONObject();
	
	static
	{
		/* 日期格式化的问题 */
		JSON.DEFFAULT_DATE_FORMAT = DATE_TIME_FORMAT ; 
		
		/* 读取config.json的文件内容
		 * 从classpath中读取一个文件的内容，返回值是一个二进制流
		 *  */
		InputStream is = ConstatFinalUtil.class.getClassLoader()
				.getResourceAsStream("config.json");
		String result = ioUtil.readContent(is);
		//System.out.println("====" + result);
		CONFIG_JSON = JSON.parseObject(result);
		//System.out.println("====" + CONFIG_JSON);
		INFO_JSON = CONFIG_JSON.getJSONObject("info");
		/* 配置json */
		SYSTEM_JSON = CONFIG_JSON.getJSONObject("system");
	}
	
	public static void main(String[] args)
	{
		ResourceBundle sYS_BUN = ConstatFinalUtil.SYS_BUNDLE;
	}
}
